package main

// 118. 杨辉三角
func main() {

}

func generate(numRows int) [][]int {
	if numRows == 0 {
		return nil
	}
	res := make([][]int, numRows)
	res[0] = []int{1}

	for i := 1; i < numRows; i++ {

		pre := res[i-1]
		preLen := len(pre)
		var newRes []int
		newRes = append(newRes, 1)
		for j := 0; j < preLen-1; j++ {
			newRes = append(newRes, pre[j]+pre[j+1])
		}
		newRes = append(newRes, 1)

		res[i] = newRes
	}

	return res
}

// 给定一个非负整数 numRows，生成「杨辉三角」的前 numRows 行。
//
//在「杨辉三角」中，每个数是它左上方和右上方的数的和。
//
//示例 1:
//
//输入: numRows = 5
//输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
//示例 2:
//
//输入: numRows = 1
//输出: [[1]]
//
//提示:
//
//1 <= numRows <= 30
